// pages/join/index.js
const App = getApp();
// 验证类
import Verify from '../../utils/verify.js';
Page({

    /**
     * 页面的初始数据
     */
    data: {
        maxWord: 150,
        currentWord: 0,
        fileList: [],
        show: false,
        detailId: '',
        content: '',
        mobile: '',
        shop_name: '',
        fileIdList:[],
        linkman:'',
        projectDetail:''
    },
    onClose() {
        this.setData({
            show: false
        });

    },
    contacts(e){
        this.setData({
            linkman: e.detail.value
        })
    },
    confirm(){
        // wx.navigateTo({
        //   url: '/pages/nav/project/projectDetail/index?id=' + this.data.detailId,
        // })
        wx.switchTab({
            url: '/pages/index/index',
        })
    },
    getProjectDetail() {
        let _this = this;
        App._post_form('project/detail', {
            project_id: _this.data.detailId,
        }, function(result) {
            _this.setData({
                projectDetail:result.data.detail
            })
          });
    },
    _onVerify() {
        let _this = this;
        // 验证自提填写的联系方式
       
          if (Verify.isEmpty(_this.data.shop_name)) {
            App.showError('请填写商品名称');
            return false;
          }
          if (Verify.isEmpty(_this.data.mobile)) {
            App.showError('请填写联系人电话');
            return false;
          }
          if (Verify.isEmpty(_this.data.linkman)) {
            App.showError('请填写联系人姓名');
            return false;
          }
          if (!Verify.isPhone(_this.data.mobile)) {
            App.showError('请填写正确的联系电话');
            return false;
          }
          if(_this.data.fileList.length == 0) {
            App.showError('请上传图片');
            return false;
          }
          return true
       
      },
    mobile(e){
        this.setData({
            mobile: e.detail.value
        })
    },
    shop_name(e) {
        this.setData({
            shop_name: e.detail.value
        })
    },
    submit() {
        let _this = this
        if (!_this._onVerify()) {
            return false;
          }
          _this.setData({
            show: true
        })
        App._post_form('project.merchant.apply/add', {
            project_id:_this.data.detailId,
            name:_this.data.shop_name,
            phone:_this.data.mobile,
            summary:_this.data.content,
            linkman:_this.data.linkman,
            image_ids:_this.data.fileIdList.toString()
        }, function(result) {
            console.log(result,'1234');
            if(result.code == 0) {
                wx.showModal({
                    title: '友情提示',
                    content: result.msg,
                    showCancel: false,
                });
            }
            // _this.setData({
            //     projectDetail:result.data.detail
            // })
            // if()
          });
    },
    deletImage(e) {
        const index = e.detail.index;
        const fileList = this.data.fileList;
        const fileIdList = this.data.fileIdList
        wx.showModal({
            title: '确认删除',
            content: '确定要删除该图片吗？',
            success: (res) => {
                if (res.confirm) {
                    fileList.splice(index, 1);
                    fileIdList.splice(index,1)
                    this.setData({
                        fileList: fileList,
                        fileIdList:fileIdList
                    });
                }
            }
        });



    }, 
    //******************压缩图片*************************************//
        // uploadImg(e) {
        //     let that = this;
        //     let current = this;
        //     console.log(e);
        //     let index = e.currentTarget.dataset.number;
        //     console.log(index);
        //     let uploadFile = ''; // 最后处理完，图片上传的图片地址
     
        //     console.log(e)
        //     const tempFilePaths = e.detail.file.tempFilePath;
            
        //     // 获得原始图片大小
        //     wx.getImageInfo({
        //         src: tempFilePaths,
        //         success(res) {
        //             console.log('获得原始图片大小', res.width)
        //             console.log(res.height)
        //             var originWidth, originHeight;
        //             originHeight = res.height;
        //             originWidth = res.width;
        //             console.log(originWidth);
        //             // 压缩比例
        //             // 最大尺寸限制
        //             var maxWidth = 1200,
        //                 maxHeight = 900;
        //             // 目标尺寸
        //             var targetWidth = originWidth,
        //                 targetHeight = originHeight;
        //             // 等比例压缩，如果宽度大于高度，则宽度优先，否则高度优先
        //             if (originWidth > maxWidth || originHeight > maxHeight) {
        //                 if (originWidth / originHeight > maxWidth / maxHeight) {
        //                     // 要求宽度*(原生图片比例)=新图片尺寸
        //                     targetWidth = maxWidth;
        //                     targetHeight = Math.round(maxWidth * (originHeight / originWidth));
        //                 } else {
        //                     targetHeight = maxHeight;
        //                     targetWidth = Math.round(maxHeight * (originWidth / originHeight));
        //                 }
        //             }
     
        //             // 更新 canvas 大小
        //             that.setData({
        //                 cw: targetWidth,
        //                 ch: targetHeight
        //             });
        //             // 尝试压缩文件，创建 canvas
        //             var ctx = wx.createCanvasContext('firstCanvas');
        //             ctx.clearRect(0, 0, targetWidth, targetHeight);
        //             ctx.drawImage(tempFilePaths, 0, 0, targetWidth, targetHeight);
        //             ctx.draw(false, function () {
        //                 // 获得新图片输出
        //                 wx.canvasToTempFilePath({
        //                     canvasId: 'firstCanvas',
        //                     success: (res) => {
        //                         // 写入图片数组
        //                         var uploadpic = "uploadPic [" + index + "]";
        //                         //
        //                         that.setData({
        //                             [uploadpic]: res.tempFilePath
        //                         });
        //                         uploadFile = res.tempFilePath;
        //                         console.log("地址是：", uploadFile);
        //                         //把图片上传到远程服务器上
        //                         wx.uploadFile({
        //                             url: App.api_root + 'upload/image', // 远程服务器地址
        //                             filePath: uploadFile,
        //                             name: 'iFile',
        //                             formData: {
        //                                 wxapp_id: App.getWxappId(),
        //                                 token: wx.getStorageSync('token')
        //                             },
        //                             success(res) {
        //                                 // 上传完成需要更新 
        //                                 // console.log("上传完成需要更新 ", res);
        //                                 // let jsondata = JSON.parse(res.data);
        //                                 // console.log("上传图片后：：：：：：：", jsondata.data.url);
        //                                 // let imgs = current.data.fileList;
        //                                 // imgs.push({ url: jsondata.data.url })
        //                                 // current.setData({
        //                                 //     fileList: imgs
        //                                 // })
        //                                 let result = typeof res.data === "object" ? res.data : JSON.parse(res.data);
        //                                 // console.log(result, 'result');
        //                                 const existingImage = that.data.fileList.find(image => image.url === uploadFile);

        //                                 if (!existingImage) {
        //                                     const newFileList = that.data.fileList.concat({
        //                                         url: uploadFile,
        //                                         result: result
        //                                     });
                                            
        //                                    const fileIdList = that.data.fileIdList.concat(result.data.file_id)
        //                                     // 更新组件的 fileList 属性，实现回显已上传的图片
        //                                     that.setData({
        //                                         fileList: newFileList,
        //                                         fileIdList:fileIdList
        //                                     });
        //                                 }
        //                             },
        //                         });
        //                     },
        //                     fail: (err) => {
        //                         console.error(err)
        //                     }
        //                 }, this)
        //             });
     
        //         }
        //     })
        // },
     
        //******************压缩图片*************************************//
        afterRead(event) {
            var _this = this;
            const { file } = event.detail;
            console.log(file, 'file');
        
            // 显示加载效果
            wx.showLoading({
                title: '上传中...',
                mask: true
            });
        
            wx.uploadFile({
                url: App.api_root + 'upload/image',
                filePath: file.url,
                name: 'iFile',
                formData: {
                    wxapp_id: App.getWxappId(),
                    token: wx.getStorageSync('token')
                },
                success(res) {
                    let result = typeof res.data === "object" ? res.data : JSON.parse(res.data);
                    const existingImage = _this.data.fileList.find(image => image.url === file.url);
                    console.log(result, 'result');
        
                    if (result.code == 1) {
                        if (!existingImage) {
                            const newFileList = _this.data.fileList.concat({
                                url: file.url,
                                result: result
                            });
        
                            const fileIdList = _this.data.fileIdList.concat(result.data.file_id);
        
                            // 更新 fileList 和 fileIdList 属性以反映已上传的图片
                            _this.setData({
                                fileList: newFileList,
                                fileIdList: fileIdList
                            });
                        }
                    } else if(result.code == -1){
                        wx.showModal({
                            title: '友情提示',
                            content: '暂未登录，点击确认去登录。',
                            showCancel: false,
                            success(res) {
                                // callback && callback();
                                wx.navigateTo({
                                  url: '/pages/login/login',
                                })
                            }
                        });
                    }
                },
                complete() {
                    // 隐藏加载效果
                    wx.hideLoading();
                }
            });
        },
        

    limitWord: function (e) {
        var that = this;
        var value = e.detail.value;
        //解析字符串长度转换成整数。
        var wordLength = parseInt(value.length);
        if (that.data.maxWord < wordLength) {
            return;
        }
        that.setData({
            currentWord: wordLength,
            content:value
        });
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.data.detailId = options.id
        this.getProjectDetail()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})